1. Field of the Invention
This invention relates generally to robotic visual systems, and, more particularly, to an apparatus which dynamically controls the field of view of a line scan camera.
2. Related Art
With the advent of robotics technology, automated processing has come into widespread use in numerous facets of today's industry. Robotic systems are employed to perform a myriad of functions from assembly line processes to materials processing to real-time operational processes. These robotic systems are often implemented using a computer-controlled robotic arm.
Applications for robotic arms in assembly line processes include welding, painting, and testing. In the materials processing environment, robotic applications can include, for example, locating materials or chemicals. In real-time operational environments, robots are used to perform operational functions such as automated order picking. In computer operational environments, robots are used to perform tape retrieval and mounting functions. An example of such an automated tape cartridge storage system is the StorageTek WolfCreek Library Storage System, manufactured by Storage Technology Corporation, Louisville, Colorado, U.S.A.
To optimize performance of robotic systems in the above-mentioned and other applications, a robotic arm must be quickly and precisely positioned to perform its task. To illustrate this concept, the tape selection and mounting robotic system will be used as an example. In this example, the tape selection robotic system must locate a correct tape to be loaded and quickly and precisely align its arm to select the proper tape. If the alignment is imprecise, a critical error may result. The robotic arm could miss the tape entirely or even retrieve the wrong tape. In addition, if the arm is extended when aligned imprecisely, damage to the tape, the robotic arm, or a tape storage bin may result.
Generally, a trade-off exists between the speed and precision with which a robotic arm may be aligned. However, a robot arm which provides a higher degree of precision will allow a system to be designed to tighter specifications. For the tape selection example, this means that bins which house the tape cartridges can be made smaller and positioned more closely to one another. As a result, system size is reduced and tape access time is quicker because the robotic arm has less distance to travel between tapes.
In conventional systems, attaining a higher degree of alignment precision requires more time. Some conventional systems use a reach-out-and-touch technique whereby the arm is extended slowly to sense its position with respect to the tape and adjust alignment accordingly. In addition, if alignment is imprecise, retrieval must be done more slowly to minimize the amount of damage that could be caused by "crashing" the misaligned arm into a bin or a tape cartridge.
Typically, a robotic arm has course control to position the robotic arm in the vicinity of the desired object and fine control to properly align the robotic arm for precise operational movements. The motors which drive a robotic device for coarse positioning commonly operate under the general method of digital closed loop servo mechanism control. For "fine" alignment, many conventional systems employ a vision system as part of the robotic system. The camera, in effect, becomes the "eyes" of the robotic system. A controller within the robotic system uses the camera to search for known objects. These objects may be calibration patterns, referred to as targets, or identification patterns, generally bar code labels. The controller receives electronic signals from the camera indicating the location of the robotic arm with respect to the object. The controller then aligns the robotic arm using that object image as a positioning guide.
Many conventional robotic arm calibration arrangements employ a video camera which provides a two-dimensional pixel array output. This pixel array output is utilized by an image processor to determine the specific location of the scanned image relative to the robotic arm. In such systems, a large number of pixels in the array have to be processed before the relative locations can be determined. The image processing time impedes the performance of the system, making such systems impractical for applications requiring high image-based data throughput.
Other conventional techniques employ line scan cameras. Line scan cameras provide higher reliability, increased resolution, and significantly faster dam transfer rates at a lower cost relative to two-dimensional area video cameras.
The line scan camera is designed to read a series of object images in a linear pattern. The term "scan" actually refers to the method by which each pixel of a charge coupled device (CCD) array is electronically polled to resolve an image into decipherable data. The term "line scan" means that the resulting image is in fact a linear trace of points across a line, which runs across the object. Due to the short amount of time required to perform a single scan and create an image, these camera systems are desirable in high speed imaging systems that require high image-based data throughput.
However, there are several drawbacks to using a line scan camera in robotic object handling systems. One inherent problem in utilizing a line scan camera to obtain stationary calibration and/or bar code information in robotic systems is that a single scan may not obtain all the necessary information. This is typically due to positional errors of either the object or camera. Positional errors of the object may result from such conditions as the bar code label or calibration pattern being disposed at an arbitrary position or inclination on the reference surface. Positional errors of the line scan camera may result from deviations in the mechanical and positional tolerances of the mechanism upon which the line scan camera is mounted. These positional errors reduce the reliability of a single scan line, resulting in an incomplete image of the bar code or calibration pattern. Thus, conventional single-scan line scanning techniques typically cannot be efficiently used in robotic object handling systems.
One solution for achieving a complete image has been to dynamically reposition the robotic mechanism upon which the line scan camera is mounted to assist the line scan camera in obtaining a complete image. In such a system, the robotic mechanism moves in a direction perpendicular to the scan direction. This enables the line scan camera to make multiple scans through the object. However, positioning a robotic arm in two dimensions relative to a known object using a line scan camera that produces only a one dimensional "slice" through its image has been found to be impractical. Accurately positioning the robotic arm relative to the object along the axis in which the line scan camera views (e.g., horizontal axis) is relatively easy, as long as the object is found within the camera's field of view. Positioning the robotic arm with respect to the object in the axis perpendicular to the axis of the scan line (e.g., vertical axis), however, is considerably more difficult since the line scan camera does not "view" in that axis. As a result, a complete image of the object cannot be achieved using this approach without incurring the loss of efficiency and response time due to the additional time required to accurately reposition the robot arm in the perpendicular direction.
This lost efficiency becomes prohibitive in those circumstances where it is necessary or desirable to read an object when the robotic mechanism is performing retrieval and mounting operations. Another mode of operation wherein the time required to reposition the robotic arm becomes prohibitive is during the audit period. The audit period is that time where the line scan camera is used to identify and locate all object bar code labels and positional targets to determine their location. This information is forwarded to a processing system which then builds and maintains a database of the storage system contents, and determines the position of the arm relative to the targets.
What is needed, therefore, is a mechanism which will dynamically control the position of a line scan camera associated with a robotic arm, enabling it to sweep the line of focus through a known displacement. This dynamic positioning must occur at a known or predictable velocity for the line scan camera's processing systems. It is desirable to achieve this two-directional movement of the line scan camera's field of view without requiring the associated robotic mechanism to move through unnecessary displacements.